summaryrefslogtreecommitdiffstats
path: root/docusaurus/src/theme/NotFound/Redirection.tsx
blob: 3fe2d6d7f1d33f519dc512b33a13da1f9cf42598 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
/* SPDX-License-Identifier: AGPL-3.0-or-later */

import React from "react";
import typescriptNever from "../../functions/typescriptNever";

export default (): React.JSX.Element => {
  React.useEffect((): void => {
    const pathname = window.location.pathname;

    const isExample = pathname.includes("/example");

    if (isExample === true) {
      const topic = "topic " + pathname.split("/").pop().replace(/-/g, " ");
      const url = new URL("/input/", window.location.href);
      url.searchParams.set("i", topic);
      window.location.replace(url);
    } else if (isExample === false) {
      window.location.replace("/");
    } else {
      window.location.replace("/");
      typescriptNever(isExample);
    }
  }, []); // Empty dependency array means the effect runs only once after initial render.

  return <></>;
};

/*
 * test case:
 *
 *   - Passing
 *     - elementary-math
 *       - Goal: https://www.wolframalpha.com/examples/mathematics/elementary-math
 *       - Doesn't work: http://localhost/input?i=elementary+math
 *       - Does work: http://localhost/input?i=topic+elementary+math
 *     - common-core-math-functions
 *       - Goal: https://wc.wolframalpha.com/examples/mathematics/common-core-math/common-core-math-functions
 *       - Doesn't work: http://localhost/input?i=common+core+math+functions
 *       - Does work: http://localhost/input?i=topic+common+core+math+functions
 *
 *   - Failing
 *     - continuity
 *       - Goal: https://www.wolframalpha.com/examples/mathematics/calculus-and-analysis/continuity
 *       - Does not work: http://localhost/input?i=topic+continuity
 *       - Does work: (not found yet)
 *     - neuroscience
 *       - Goal: https://www.wolframalpha.com/examples/science-and-technology/life-sciences/neuroscience
 *       - Does not work: http://localhost/input?i=topic+neuroscience
 *       - Does work: (not found yet)
 *     - molecular-biology
 *       - Goal: https://wc.wolframalpha.com/examples/science-and-technology/life-sciences/molecular-biology
 *       - Does not work: http://localhost/input?i=topic+molecular+biology
 *       - Does work: (not found yet)
 *     - personal-finance
 *       - Goal: https://www.wolframalpha.com/examples/everyday-life/personal-finance
 *       - Does not work: http://localhost/input?i=topic+personal+finance
 *       - Does work: (not found yet)
 *
 */